package com.zxl.designpattern.behavioral.mediator;

/**
 * 用户类
 * 作为同事类，通过中介者进行通信
 */
public class User {

    private String name;      // 用户名称
    private Mediator chatRoom; // 中介者引用
    
    /**
     * 构造函数，初始化用户名称和中介者
     * @param name 用户名称
     * @param chatRoom 中介者
     */
    public User(String name, Mediator chatRoom) {
        this.name = name;
        this.chatRoom = chatRoom;
    }
    
    /**
     * 发送消息
     * @param message 消息内容
     */
    public void sendMessage(String message) {
        chatRoom.sendMessage(name, message);
    }
    
    /**
     * 接收消息
     * @param senderName 发送者名称
     * @param message 消息内容
     */
    public void receiveMessage(String senderName, String message) {
        System.out.println(name + " 收到来自 " + senderName + " 的消息: " + message);
    }
    
    /**
     * 获取用户名称
     * @return 用户名称
     */
    public String getName() {
        return name;
    }
}    